/*
多态的实际意义
屏蔽了不同子类的差异性实现通用的编程带来不同的效果
 */

package javase.module2.task04;

public class ShapeTest {

    // 自定义成员方法实现将参数指定矩形对象特征打印出来的行为，也就是绘制图形的行为
//    public static void draw(Rect r) {
//        r.show();
//    }
    // 自定义成员方法实现将参数指定圆形对象特征打印出来的行为
//    public static void draw(Circle c) {
//        c.show();
//    }
    // 自定义成员方法实现既能打印矩形对象又能打印圆形对象的特征，对象由参数传入
    // Shape s = new Rect(1,2,3,4);   //父类类型的引用指向了子类类型的对象
    // Shape s = new Circle(5,6,7);
    public static void draw(Shape s) {
        s.show();
    }

    public static void main(String[] args) {
        // Rect r = new Rect(1,2,3,4);
        ShapeTest.draw(new Rect(1,2,3,4));
        System.out.println("==========================");
        ShapeTest.draw(new Circle(5,6,7));
        System.out.println("==========================");

    }
}
